使用Python绘制词云图(自定义形状) |
您所在的位置:网站首页 › Python 词云图片 › 使用Python绘制词云图(自定义形状) |
1.使用Python需要事先准备的包 from wordcloud import WordCloud import os from os import path import matplotlib.pyplot as plt import jieba from imageio import imread2.准备一个词云图的背景图片 就是想把词云图生成什么样子的背景,比如下图: 3.代码如下 from wordcloud import WordCloud import os from os import path import matplotlib.pyplot as plt import jieba from imageio import imread #读取图片 bg_pic = imread('C:\\Users\\Administrator\\Desktop\\0.png') comment_text=open('C:\\Users\\Administrator\\Desktop\\test.txt','r').read() cut_text=jieba.lcut(comment_text) print(cut_text) cut_text=filter(lambda x:len(x)>1,cut_text ) cut_text=list(cut_text) cut_text=' '.join(cut_text) print(cut_text) #第一个参数 字体路径 cloud=WordCloud( background_color='black', width=700, height=300, max_words=2000, max_font_size=40, mask=bg_pic#该属性 字体显示形状 在非白色部分显示!!! ) #放入的是文本文件(必须是分词后的) 就是字符串 word_cloud=cloud.generate_from_text(cut_text) plt.imshow(word_cloud) plt.axis('off')#去掉X Y 轴坐标 plt.show()bg_pic就是我们要准备的词云图背景 comment_text 就是我们的文本文件。 上面的代码可以生成一个好看的词云图,但是如果是英文就没什么问题,可以正常生成,如果是中文的话,就会出现乱码的情况。 解决办法: 1.打开wordcloud.py文件 找到34行,默认是DrodiSansMono.ttf这个字体不满足中文的 所以要在这里进行字体文件更换,更换成中文的即可,可以自己在网上下载,也可以使用系统自带的字体。 我是使用系统自带的字体文件。 2.找到系统中支持中文的字体文件 这里面支持中文 ,随便复制一个到第一步骤中,如下所示: 然后在34行,替换成这个文件即可 FONT_PATH = os.environ.get('FONT_PATH', os.path.join(FILE, 'simsun.ttc')),再重新运行代码,就可以生成中文的词云图了,如下所示: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |